home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 50
/
Volume 50 - JOGO DISK .iso
/
Games
/
moonstonemadness.swf
/
scripts
/
__Packages
/
LevelManager.as
< prev
next >
Wrap
Text File
|
2007-09-27
|
6KB
|
149 lines
class LevelManager extends Library.DispatcherBase
{
static var DEPTH_MAIN_SS = 5;
static var LAYER_ID_BG1 = "Background1";
static var LAYER_ID_BG2 = "Background2";
static var LAYER_ID_RUNLEVEL = "RunLevel";
static var LAYER_ID_FRONT = "Front";
static var BASE_FLOOR = 345;
static var TAK_GROUND_START_X = -50;
static var TAK_GROUND_START_Y = 300;
function LevelManager(__mcRef, __oLevel)
{
super();
this.mcRef = __mcRef;
LevelManager.oCtrl = this;
this.oCurrentLevel = __oLevel;
Main.__get__Instance().doAddListener(this);
this.doBuildLevel();
}
static function get Instance()
{
return LevelManager.oCtrl;
}
function onTakReachEnd()
{
Game.__get__Instance().onTakReachEnd();
}
function doAddMSObstacle(__mcObject, _nPercent)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc3_ = new MoonStoneObstacle(__mcObject,_loc2_,_nPercent);
}
function doAddBird(__mcObject)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc3_ = new Bird(__mcObject,_loc2_);
}
function doAddFrontExplodableObstacle(__mcObject, __sLinkage)
{
var _loc3_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc5_ = Library.Utils.MoreMath.getBoundsCenter(__mcObject.getBounds(_loc3_.__get__Ref()));
__mcObject.swapDepths(_loc3_.getRemoveDepth(__mcObject));
__mcObject.removeMovieClip();
var _loc2_ = _loc3_.doAttachVisual(__sLinkage);
this.doPutInFront(_loc2_);
_loc2_._x = _loc5_.x;
_loc2_._y = _loc5_.y;
var _loc6_ = new ExplodableObstacle(_loc2_,_loc3_);
}
function doAddExplodableObstacle(__mcObject)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc3_ = new ExplodableObstacle(__mcObject,_loc2_);
}
function doAddEndTrigger(__mcObject)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc3_ = new EndTrigger(__mcObject,_loc2_);
}
function doAddMoonStone(__mcObject)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc3_ = new MoonStone(__mcObject,_loc2_);
}
function doAddMiniStone(__mcObject)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc3_ = new MiniStone(__mcObject,_loc2_);
}
function doAddFeather(__mcObject)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc3_ = new Feather(__mcObject,_loc2_);
}
function doAddPepper(__mcObject)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
var _loc3_ = new Pepper(__mcObject,_loc2_);
}
function doPutInFront(__mc)
{
var _loc2_ = this.oMainSideScroller.getLayerFor(__mc);
_loc2_.doPutInFront(__mc);
}
function doResumeFromMiniGame()
{
this.doResume();
this.oTakGround.onBackFromMiniGame();
}
function doDestroy()
{
this.oMainSideScroller.doDestroy();
this.oTakGround.doDestroy();
delete this.oTakGround;
delete this.oCurrentLevel;
delete LevelManager.oCtrl;
delete this.oMainSideScroller;
}
function doBuildLevel()
{
this.oMainSideScroller = new SideScroller.SideScrollerManager(this.mcRef,Game.STAGE_WIDTH,Game.STAGE_HEIGHT,this);
this.oMainSideScroller.setScrollMethod(SideScroller.SideScrollerManager.SCROLL_ONE_WAY);
this.oMainSideScroller.setScrollSpeed(0.15);
if(this.oCurrentLevel.__get__LevelNumber() == 3 && this.oCurrentLevel.__get__LevelType() != BaseLevelData.LEVEL_TYPE_USER)
{
var _loc7_ = this.oMainSideScroller.doAddLayer("FixedYellow",SideScroller.Layer.TYPE_STATIC,SideScroller.Layer.METHOD_RANDOM);
_loc7_.doAddPanelLinkage("Amb3_mcBgFixed");
}
var _loc4_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_BG1,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
_loc4_.doAddPanelLinkage(this.oCurrentLevel.sPanelBg1);
_loc4_.__set__ParalaxRatioX(0.2);
_loc4_.__set__ParalaxRatioY(0.1);
_loc4_.setOverlap(1.5);
var _loc3_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_BG2,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
_loc3_.doAddPanelLinkageSet(Library.Utils.Tools.doCopyArray(this.oCurrentLevel.aPanelBg2));
_loc3_.__set__ParalaxRatioX(0.5);
if(this.oCurrentLevel.__get__LevelNumber() == 1 || this.oCurrentLevel.__get__LevelNumber() == 3 || this.oCurrentLevel.__get__LevelType() != BaseLevelData.LEVEL_TYPE_USER)
{
_loc3_.__set__ParalaxRatioY(0.3);
}
_loc3_.setOverlap(1.5);
var _loc2_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_RUNLEVEL,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_ORDERED);
_loc2_.__set__BaseFloor(this.oCurrentLevel.nFloorHeight);
_loc2_.setOverlap(1.5);
if(this.oCurrentLevel.sPanelStart != undefined)
{
_loc2_.doAddPanelLinkage(this.oCurrentLevel.sPanelStart);
}
_loc2_.doAddPanelLinkageSet(this.oCurrentLevel.__get__Panels());
if(this.oCurrentLevel.sPanelEnd != undefined)
{
_loc2_.doAddPanelLinkage(this.oCurrentLevel.sPanelEnd);
}
this.oMainSideScroller.setDefaultLayer(LevelManager.LAYER_ID_RUNLEVEL);
var _loc6_ = _loc2_.doAttachVisual("Dynamic_TakGround");
_loc6_._x = LevelManager.TAK_GROUND_START_X;
_loc6_._y = LevelManager.TAK_GROUND_START_Y;
this.oTakGround = new TakGround(_loc6_,_loc2_);
this.oMainSideScroller.__get__CameraManager().doLockOn(this.oTakGround);
if(this.oCurrentLevel.__get__LevelNumber() == 3 && this.oCurrentLevel.__get__LevelType() != BaseLevelData.LEVEL_TYPE_USER)
{
var _loc5_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_FRONT,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
_loc5_.doAddPanelLinkage("Amb3_Panel_Front");
_loc5_.__set__ParalaxRatioX(1);
_loc5_.__set__ParalaxRatioY(1);
}
}
}